﻿namespace Traffic.Entity;

/// <summary>
/// 机票订单
/// </summary>
public partial class FlightOrderList
{
    public int Id { get; set; }

    /// <summary>
    /// 订单来源
    /// </summary>
    public int FromBusinessId { get; set; }

    /// <summary>
    /// 客户来源
    /// </summary>
    public string? FromParams { get; set; }

    /// <summary>
    /// 是否需要报销凭证  0:否（默认）  1：是
    /// </summary>
    public bool NeedInvoice { get; set; }

    /// <summary>
    /// 是否有使用大客户政策  0：否  1：是
    /// </summary>
    public bool UseLicense { get; set; }

    /// <summary>
    /// 是否拦截订单
    /// </summary>
    public bool IsIntercept { get; set; }

    /// <summary>
    /// 用户ID
    /// </summary>
    public int UserId { get; set; }

    /// <summary>
    /// 订单号  FyyyyMMddHHmm+Count
    /// </summary>
    public string OrderNum { get; set; } = null!;

    /// <summary>
    /// 胤之旅订单号
    /// </summary>
    public string? ApiOrderNum { get; set; }

    /// <summary>
    /// 下单时间
    /// </summary>
    public DateTime CreateDate { get; set; }

    /// <summary>
    /// 旅客人数
    /// </summary>
    public int PsgCount { get; set; }

    /// <summary>
    /// 联系人
    /// </summary>
    public string? Contact { get; set; }

    /// <summary>
    /// 联系人电话
    /// </summary>
    public string? Mobile { get; set; }

    /// <summary>
    /// 联系人邮箱
    /// </summary>
    public string? Email { get; set; }

    /// <summary>
    /// 联系人QQ
    /// </summary>
    public string? Qq { get; set; }

    /// <summary>
    /// 去程航班号
    /// </summary>
    public string? DepFlightNo { get; set; }

    /// <summary>
    /// 出发日期，格式yyyy-MM-dd
    /// </summary>
    public DateTime DepDate { get; set; }

    /// <summary>
    /// 返程航班号  FlightType=2时有值
    /// </summary>
    public string? BackFlightNo { get; set; }

    /// <summary>
    /// 返程日期  FlightType=2时有值
    /// </summary>
    public DateTime? BackDate { get; set; }

    /// <summary>
    /// 出发城市
    /// </summary>
    public string? DesCity { get; set; }

    /// <summary>
    /// 出发城市或机场三字码	
    /// </summary>
    public string? DesCityPortCode { get; set; }

    /// <summary>
    /// 到达城市
    /// </summary>
    public string? OriCity { get; set; }

    /// <summary>
    /// 到达城市或机场三字码	
    /// </summary>
    public string? OriCityPortCode { get; set; }

    /// <summary>
    /// 航程类型 1=单程，2=往返
    /// </summary>
    public int FlightType { get; set; }

    /// <summary>
    /// 舱位等级 0=不限 1=头等舱 2=公务舱 3=经济舱
    /// </summary>
    public int CabinRank { get; set; }

    /// <summary>
    /// 是否直飞 0=不限 1=是 2=其它
    /// </summary>
    public int DirectFlight { get; set; }

    /// <summary>
    /// 乘客类型，1-成人 2-儿童 3-成人+儿童  (暂不支持儿童单)
    /// </summary>
    public int PsgType { get; set; }

    /// <summary>
    /// 备注
    /// </summary>
    public string? Remark { get; set; }

    /// <summary>
    /// 是否有更改
    /// </summary>
    public bool HasChange { get; set; }

    /// <summary>
    /// 变更次数
    /// </summary>
    public int ChangeTimes { get; set; }

    /// <summary>
    /// 订单状态  0：已下单，未支付  1：已成功支付  2：订单已成功出票   3：申请退款   4：退款成功
    /// </summary>
    public int OrderState { get; set; }

    /// <summary>
    /// 系统记录
    /// </summary>
    public string? SysLog { get; set; }

    /// <summary>
    /// 总手续费
    /// </summary>
    public decimal TotalCharge { get; set; }

    /// <summary>
    /// 订单总金额
    /// </summary>
    public decimal TotalAmount { get; set; }

    /// <summary>
    /// 胤之旅订单票面总价
    /// </summary>
    public decimal TotalPay { get; set; }

    /// <summary>
    /// 订单票面总价
    /// </summary>
    public decimal TotalPrice { get; set; }

    /// <summary>
    /// 燃油总计	
    /// </summary>
    public decimal TotalAirportTax { get; set; }

    /// <summary>
    /// 机建总计
    /// </summary>
    public decimal TotalFuelTaax { get; set; }

    /// <summary>
    /// 开票费
    /// </summary>
    public decimal BillingFee { get; set; }

    /// <summary>
    /// 支付交易号	
    /// </summary>
    public string? PaytradeNo { get; set; }

    /// <summary>
    /// 付款账号	
    /// </summary>
    public string? PayerAccount { get; set; }

    /// <summary>
    /// 支付完成时间	
    /// </summary>
    public DateTime? PayTime { get; set; }

    /// <summary>
    /// 接口数据
    /// </summary>
    public string? ApiData { get; set; }

    /// <summary>
    /// 该机票是否包含车票
    /// </summary>
    public bool HasFreeTicket { get; set; }

    /// <summary>
    /// 若含车票则此字段保存车票订单号
    /// </summary>
    public string? TicketOrderNum { get; set; }

    /// <summary>
    /// 订单状态  0：作废  1：正常（默认）
    /// </summary>
    public bool Status { get; set; }

    /// <summary>
    /// 渠道 1：胤之旅  2：中航信
    /// </summary>
    public int? FormChannel { get; set; }
}
